package org.example.system.service;

import com.github.binarywang.wxpay.exception.WxPayException;
import jakarta.servlet.http.HttpServletRequest;
import org.example.system.common.enums.PayTypeEnum;
import org.example.system.common.result.Result;
import org.example.system.model.form.OrderForm;


/**
 * 支付策略接口
 */
public interface PaymentStrategy {

    /**
     * 预支付
     * @param orderSn  订单号
     */
    Result prePay(String orderSn, HttpServletRequest request) throws WxPayException;

    /**
     * 获取支付渠道
     * @return
     */
    PayTypeEnum getPayChannel() throws IllegalArgumentException ;
}
